$(document).ready(function() {
    var $ten = $('#ten');
    var $diachi = $('#diachi');
    var $sodt = $('#sodt');
    var $email = $('#email');
    var emptyRegex = /^\s*$/;
    var emailRegex = /\w+@(\w+\.)*\w+\.\w{2,4}/;
    var phoneNumRegex = /^\d{9,11}$/;

    $sodt.keyup(function() {
        if (phoneNumRegex.test($(this).val())) {
            $(this).removeClass('invalid');
        } else {
            $(this).addClass('invalid');
        }
    });

    $('#submit').click(function(event) {
        event.preventDefault();
        if (emptyRegex.test($ten.val()) || emptyRegex.test($diachi.val())) {
            jModal.open({
                content: 'Vui lòng không để trống tên và địa chỉ!',
                title: 'Lỗi nhập liệu',
                type: 'error',
                on_close: $ten.focus()
            });
        } else if (!emailRegex.test($email.val())) {
            jModal.open({
                content: 'Vui lòng nhập địa chỉ email hợp lệ!',
                title: 'Lỗi nhập liệu',
                type: 'error',
                on_close: $email.focus()
            });
        } else if (!phoneNumRegex.test($sodt.val())) {
            jModal.open({
                content: 'Vui lòng nhập số điện thoại hợp lệ!',
                title: 'Lỗi nhập liệu',
                type: 'error',
                on_close: $sodt.focus()
            });
        } else {
            var ajax_request_completed = false;
            var ajax_handle = $.post(Py.markUpUrl('user/update'), {
                ten: $ten.val(),
                diachi: $diachi.val(),
                sodt: $sodt.val(),
                email: $email.val()
            },function($data){
                jModal.open({
                    content: 'Cập nhật thông tin thành công!',
                    title: 'Cập nhật',
                });
            },'json');

            ajax_request_completed || jModal.open({
                content: 'Vui lòng đợi giây lát',
                title: 'Cập nhật',
                loading: true,
                on_cancel: function() {
                    ajax_handle.abort();
                }
            })
        }

    });
});